<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./lib/vue.min.js"></script>
    <script src="./lib/vue-router.js"></script>
</head>
<body>
    <div id="app">
        <router-link to = "/account">Account</router-link>
        <router-view></router-view>
    </div>
    
    <template id="tmpl">
        <div>
            <h1>这是 Account 组件</h1>

            <router-link to = "/account/login">登录</router-link>
            <router-link to = "/account/register">注册</router-link>
            <!-- 这是子路由的占位符 -->
            <router-view></router-view>
        </div>
    </template>
    <script>
        //组件模板对象
        var account = {
            template: '#tmpl'
        }
        var login = {
            template: '<h3>登录</h3>'
        }

        var register = {
            template: '<h3>注册</h3>'
        }

        const router = new VueRouter({
            routes: [ //路由匹配规则
                { path: '/account', 
                  component: account,
                  //使用children实现子路由， 同时子路由的path前面不要带'/'否则永远以根路径开始请求，使用不方便理解url地址。
                  children: [
                      { path: 'login', component: login},
                      { path: 'register', component: register }
                  ]
                }

                //不能按照一下写法创建子路由
                // { path: '/account/login', component: login},
                // { path: '/account/register', component: register}
            ]
        })

        var vm = new Vue({
            el:"#app",
            data:{},
            methods: {},
            // router: router 简写
            router
        })
    </script>
</body>
</html>